package kr.pe.osdev.commands
{
	import com.adobe.cairngorm.commands.ICommand;
	import com.adobe.cairngorm.control.CairngormEvent;
	
	import kr.pe.osdev.business.UserDelegate;
	import kr.pe.osdev.events.LoginEvent;
	import kr.pe.osdev.model.MainModelLocator;
	
	import mx.controls.Alert;
	import mx.rpc.IResponder;

	public class LoginCommand implements ICommand, IResponder
	{
		public function LoginCommand()
		{
		}

		public function execute(event:CairngormEvent):void
		{
			//이벤트가 발생하면 요놈이 실행 대.. 
			//서비스 객체 호출 델리게이트 한거 있지?
			//그놈을 여기서 생성 하고 서비스 메소드 호출 하면 대..
			//여기서 주목 해야 할께.. this 키워드  
			//이거를 this 로 넘겨서..
			
			var delegate:UserDelegate = new UserDelegate(this);
			//밥티들..왜 그랬나 알겠지 ㅡㅡ; -.-
			delegate.login(LoginEvent(event).loginVO);
		}
		
		public function result(data:Object):void
		{
			//정상적인 결과가 오면 여기서 처리....
			//오브젝트 타입이라서 그 모냐.. 핫 모지? 그건 안대지만
			//보통은 봤지?네 그치만 머가 올지 모르니 일단 Object 타입으로 받고... 
			if(data.result){
				//d여기서 제어하면 댄다.
				MainModelLocator.getInstance().viewIdx = data.result as int;
			}
		}
		
		public function fault(info:Object):void
		{
			//비정상 적인 결과가 오면 여기서..
			//대충 이해대지???
			//-- 비정상..
			Alert.show("비정상");
		}
		
	}
}